package py.com.alfa.escriba.gui.controller.object.gestion;

import java.util.ArrayList;
import java.util.List;

import org.springframework.context.ApplicationContext;

import py.com.alfa.escriba.gui.config.EscribaGUIApplicationContextProvider;
import py.com.alfa.escriba.gui.controller.view.Permissions;
import py.com.alfa.escriba.gui.controller.view.View;
import py.com.alfa.escriba.gui.controller.view.ViewManager;
import py.com.alfa.escriba.gui.controller.view.gestion.InmueblesViewContext;
import py.com.alfa.escriba.gui.controller.view.gestion.InmueblesViewFragment;
import py.com.alfa.escriba.gui.dto.admin.DepartamentoDTO;
import py.com.alfa.escriba.gui.dto.admin.DistritoDTO;
import py.com.alfa.escriba.gui.dto.admin.TabRefDTO;
import py.com.alfa.escriba.gui.dto.gestion.InmueblesDTO;
import py.com.alfa.escriba.gui.dto.gestion.InmuebleslinderosDTO;
import py.com.alfa.escriba.gui.services.Services;



public class InmueblesControllerObject {
	
	private List<InmueblesDTO> inmuebles;
	private InmueblesDTO filtros;
	private InmueblesDTO inmueble;
	private InmueblesDTO inmuebleOri;
	private InmuebleslinderosDTO lindero;
	private InmuebleslinderosDTO linderoOri;
	private List<InmuebleslinderosDTO> linderos;
	private List<DistritoDTO> distritos;
	private List<DepartamentoDTO> departamentos;
	
	
	private DistritoDTO distrito;
	private DepartamentoDTO departamento;
	private List<TabRefDTO>uMedidas;
	private ViewManager viewManager;
	private String titulo = "";
	
	public InmueblesControllerObject() {
		ApplicationContext ctx = EscribaGUIApplicationContextProvider.getContext();
		this.setViewManager((ViewManager) ctx.getBean(Services.VIEW_MANAGER));
		this.getViewManager().registerContext(View.INMUEBLES, new InmueblesViewContext());
		this.setInmuebles(new ArrayList<InmueblesDTO>());
		this.setInmueble(null);
	}

	public InmueblesViewFragment view(){
		return (InmueblesViewFragment) this.getContext().getViewFragment();
	}

	public InmueblesViewContext getContext(){
		return (InmueblesViewContext) getViewManager().getContext(View.INMUEBLES);
	}
	
	public Permissions getPermissions(){
		return getViewManager().getPermissions();
	}
	
	public ViewManager getViewManager() {
		return viewManager;
	}

	public void setViewManager(ViewManager viewManager) {
		this.viewManager = viewManager;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	
	public String descEstado(boolean activo) {
		return (activo)?"SI":"NO";
	}

	public List<InmueblesDTO> getInmuebles() {
		return inmuebles;
	}

	public void setInmuebles(List<InmueblesDTO> inmuebles) {
		this.inmuebles = inmuebles;
	}

	public InmueblesDTO getFiltros() {
		return filtros;
	}

	public void setFiltros(InmueblesDTO filtros) {
		this.filtros = filtros;
	}

	public InmueblesDTO getInmueble() {
		return inmueble;
	}

	public void setInmueble(InmueblesDTO inmueble) {
		this.inmueble = inmueble;
	}

	public InmueblesDTO getInmuebleOri() {
		return inmuebleOri;
	}

	public void setInmuebleOri(InmueblesDTO inmuebleOri) {
		this.inmuebleOri = inmuebleOri;
	}

	public InmuebleslinderosDTO getLindero() {
		return lindero;
	}

	public void setLindero(InmuebleslinderosDTO lindero) {
		this.lindero = lindero;
	}

	public List<InmuebleslinderosDTO> getLinderos() {
		return linderos;
	}

	public void setLinderos(List<InmuebleslinderosDTO> linderos) {
		this.linderos = linderos;
	}

	public List<DistritoDTO> getDistritos() {
		return distritos;
	}

	public void setDistritos(List<DistritoDTO> distritos) {
		this.distritos = distritos;
	}

	public List<DepartamentoDTO> getDepartamentos() {
		return departamentos;
	}

	public void setDepartamentos(List<DepartamentoDTO> departamentos) {
		this.departamentos = departamentos;
	}

	public DistritoDTO getDistrito() {
		return distrito;
	}

	public void setDistrito(DistritoDTO distrito) {
		this.distrito = distrito;
	}

	public DepartamentoDTO getDepartamento() {
		return departamento;
	}

	public void setDepartamento(DepartamentoDTO departamento) {
		this.departamento = departamento;
	}

	public List<TabRefDTO> getuMedidas() {
		return uMedidas;
	}

	public void setuMedidas(List<TabRefDTO> uMedidas) {
		this.uMedidas = uMedidas;
	}

	public InmuebleslinderosDTO getLinderoOri() {
		return linderoOri;
	}

	public void setLinderoOri(InmuebleslinderosDTO linderoOri) {
		this.linderoOri = linderoOri;
	}
	

}
